int型資料32位系統是占4個位元組,但放在txt檔案中卻不是4個位元組(例:int i=4,放在txt中則其大小為1個位元組,int i=21,放在txt中則其大小為2個位元組)。這個是問什么嘞?
uj5u.com熱心網友回復:
你能看到的都是字符,是經過編碼的,真存個1進去你就看不懂了uj5u.com熱心網友回復:
int 32最大值有10位呢, 你寫到txt里面就是10個位元組了哦表示的方式不同啊, 記憶體當中就是用固定大小的記憶體來表示int的, 文本檔案當中不是,是多少位占多少位
和記憶體對應的檔案是二進制檔案,二進制檔案里面一個int也是4位元組
uj5u.com熱心網友回復:
你在txt中看到的是字符,不是位元組,你用二進制的方式來寫檔案才會是位元組。所以txt看到的4是1個字符,占1個位元組(c里1個char是1個位元組),21是兩個字符,所以是兩個位元組。uj5u.com熱心網友回復:
如果你存一個 int i=567,你會發現是3個位元組。這是因為你是以文本方式保存的。
以文本格式保存,系統會把每一位數字都當成一個字符(位元組)
也就是文本中存了5、6、7這三個字符。
uj5u.com熱心網友回復:
我們說的占4個位元組都是指記憶體,而不是檔案哦.轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/133559.html
標籤:C語言
上一篇:為什么這個賦值會失敗呢?
下一篇:【求助】回圈陳述句不按理想的運行
