日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数据在计算机中的存储

發布時間:2024/8/24 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据在计算机中的存储 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.大小端模式(字節序)

  • 大小端的概念:數在內存中分字節存儲的先后順序。大端模式即數的低位存在高地址,高位存在低地址當中。而小端模式相反,低位存在低地址,高位存在高地址。比如0x1234,這里的高低位是從左往右的。0x12是高位,0x34是低位。

????? 1)大端模式:

低地址 -----------------> 高地址
0x12? |? 0x34? |? 0x56? |? 0x78

?????? 2)小端模式:

低地址 ------------------> 高地址
0x78? |? 0x56? |? 0x34? |? 0x12

?????? 3)常見大小端模式

一般操作系統都是小端,而通訊協議是大端的。

Big Endian : PowerPC、IBM、Sun
Little Endian : x86、DEC
ARM既可以工作在大端模式,也可以工作在小端模式。

  • 如何判斷大小端程序:
BOOL IsBigEndian() {int a = 0x1234;char b = *(char *)&a; //取a的地址,將其強制轉換為char指針類型,取這個地址中的值,相當于去低地址的存的值 if( b == 0x12){return TRUE;}return FALSE; }

?

BOOL IsBigEndian() {union NUM{int a;char b;}num;num.a = 0x1234;if( num.b == 0x12 ){return TRUE;}return FALSE; }

??? 第二種方法利用聯合的性質,共享一段內存,以達到節省空間的目的,只存儲最大長度的變量。當給a賦值的時候,a和b的起始地址是一樣的,它們共享一段內存,取出b段的數字低地址若存的是高位,那么是大端模式。

  • 大小端之間的轉換

主要思想是取出每個字節,然后將字節移動左移或右移。

#define BigtoLittle16(A) (( ((uint16)(A) & 0xff00) >> 8)|(( (uint16)(A) & 0x00ff) << 8))

參考資料:http://blog.csdn.net/ce123_zhouwei/article/details/6971544

2.數據在內存中的存儲

  • 2.1.原碼,反碼,補碼。

把一個數轉換為二進制在其前面添加符號位,0為正數,1為負數。稱為原碼。

正數的反碼是自身,負數的反碼是保持符號位不變,其余位取反。

補碼正數還是不變,負數是補碼+1。若是8位這補碼的范圍是[-128,127],其中-128為10000000,就不存在源碼中-0情形。

更詳細的解釋:http://www.cnblogs.com/zhangziqiu/archive/2011/03/30/ComputerCode.html

  • 2.2.浮點數在計算機中的存儲。

浮點數存在小數點,但是計算機無法表示小數點,解決的方法是采用指數(科學計算法)的方式來表示,使得整數部分固定為1,這樣浮點數就可以分成三個部分來表示,第一個部分是符號位,第二部分是指數位,第三部分是小數位。

例:以32位的浮點數為例說明一下

求129.5在計算機中的存儲

先將整數和小數部分分別表示為二進制10000001.1,用科學計算法表示,1.00000011*2^7,符號位0,指數部分為7加上偏移127為134,二進制為10000110,小數部分為10000000000000000000000(23位),結果為01000011010000000000000000000000

sign:1位,正數為0,負數為1.

exponet:8位,要加上127(為了表示那些指數為負數的浮點數),再轉換為二進制。

fraction:23位,小數部分。

轉載于:https://www.cnblogs.com/dawnminghuang/p/3998938.html

總結

以上是生活随笔為你收集整理的数据在计算机中的存储的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。