亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

系統1字節=8位?

系統1字節=8位?

C++ C
慕慕森 2019-07-12 10:05:52
系統1字節=8位?我一直在讀像這樣的句子不要依賴1字節的8位大小使用CHAR_BIT而不是8作為在位和字節之間轉換的常量。等等。今天有什么真實的生活系統,這是正確的嗎?(我不確定C和C+在這方面是否存在差異,或者是否實際上是語言不可知論。如有需要,請稍候。)
查看完整描述

3 回答

?
慕村9548890

TA貢獻1884條經驗 獲得超4個贊

在舊機器上,小于8位的代碼是相當常見的,但大多數代碼已經死了很多年了。

C和C+已授權a最小值8位char,至少可以追溯到C89標準。[編輯:例如,C90,§5.2.4.2.1要求CHAR_BIT>=8和UCHAR_MAX>=255。C89使用不同的節號(I)相信(第2.2.4.2.1節),但內容相同]。他們將“char”和“字節”視為本質上的同義詞[編輯:例如,CHAR_BIT描述為:“非位字段(字節)的最小對象的位數”]。

然而,目前的機器(主要是DSP)的最小類型大于8位-至少12、14甚至16位是相當常見的。WindowsCE也是如此:它最小的類型(至少是微軟的編譯器)是16位。他們有然而,治療char作為16位,他們采用了(不符合)的方法,就是不支持名為char完全沒有。


查看完整回答
反對 回復 2019-07-12
?
瀟湘沐

TA貢獻1816條經驗 獲得超6個贊

除非您正在編寫在DSP上有用的代碼,否則您完全有權假定字節是8位。所有的世界都可能不是VAX(或Intel),但全世界都必須進行通信、共享數據、建立通用協議等等。我們生活在建立在octets上的協議之上的互聯網時代,任何沒有字節的C實現都將很難使用這些協議。

同樣值得注意的是,POSIX和Windows都有(和授權)8位字節。這涵蓋了100%有趣的非嵌入式機器,現在大部分非DSP嵌入式系統也是如此。


查看完整回答
反對 回復 2019-07-12
  • 3 回答
  • 0 關注
  • 536 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號