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

為了賬號安全,請及時綁定郵箱和手機立即綁定

【備戰春招】第七天數據在內存中的儲存

课程内容:

数据在内存的储存

有符号和无符号

平时写的int a 就是 signed int a 不过这个signed省略了

8it数据储存

有符号

char ,有符号类型,占1bytes。 可以表示负数,0,正数。范围[-128~127] -128 ~ -1 0~127

无符号

unsigned char ,无符号类型,占1bytes。可以表示0,正数。范围[0~255]

8bit=1bytes

超出范围数据的计算方法

概论

如上,有符号和无符号数据范围是不一样的,如果数据超出上面范围了,该怎么计算

设计规则

无符号类型的数原码,反码,补码是它本身. [正数和0]

有符号类型的数的最高位表示符号位,0表示为正数,1表示为负数

负数的反码 = 符号位不变,其他位按位取反

负数的补码 = 反码 + 1

计算方法

方法

先计算整数的补码(=右边的数)

把补码赋值给变量,然后观察变量的数据类型

unsigned char

若是为unsinged char类型,一定为正数或0,原,反,补一样.%d输出的原码就是补码,

直接转换为原数输出即可。

char

若是为char类型,观察变量内存存储数据的最高位,1 表示为负数,%d输出需要转换为原码输出

个人理解

char a其中char是变量类型a是变量,先判断变量是正数还是负数

正数的补码

负数的补码

观察变量的类型

unsigned char

补码转换原数输出就可以

char

最高位1

负数转换原码输出

最高位0

正数转换原数输出就可以

观察变量的类型

unsigned char

补码转换原数输出就可以

char

最高位1

负数转换原码输出

最高位0

正数转换原数输出就可以

学习收获:

和之前学的补码那些知识点完美的串了起来

也理解了 如果数据超出内存的呈现方式

之前看到输出的结果,现在也理解了逻辑

截图打卡:

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
Python工程師
手記
粉絲
1
獲贊與收藏
4

關注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

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

幫助反饋 APP下載

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

公眾號

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

舉報

0/150
提交
取消