《深入理解计算机系统》读书笔记五:信息的表示和存储
生活随笔
收集整理的這篇文章主要介紹了
《深入理解计算机系统》读书笔记五:信息的表示和存储
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
信息存儲
? ?大多數計算機使用8位的塊,或者字節(byte),作為最小的可尋址的內存單位,而不是訪問內存中單獨的位。
每個十六進制數字都對16個值中的一個進行了編碼。
字數據大小
?字節順序
? ?最低有效字節在最前面的方式,稱為小端法(little endian)。
? ?最高有效字節在最前面的方式,稱為大端法(big endian)。
? 計算機系統的一個基本概念就是: 從機器的角度看,程序僅僅是字節序列。機器沒有關于原始程序的任何信息,除了可能有些用來幫助調試的輔助表之外。
位運算
? ?&(與), |(或),~(取反)
邏輯運算
? &&(與), ||(或), !(取反)
? 邏輯運算與位運算不是一個概念,兩者的功能是不一樣的。
? 邏輯運算認為所有非零的參數都是true ,而參數為0的表示false。同時邏輯運算有短路效應。
移位運算
? 向左或向右移動位模式
?
?
#include<stdio.h>typedef unsigned char * byte_pointer;void show_byte(byte_pointer start, size_t len){size_t i;for(i = 0; i < len; i++)printf(" %.2x", start[i]);printf("\n"); }void show_int(int x){show_byte((byte_pointer)&x, sizeof(int)); }void show_float(float x){show_byte((byte_pointer)&x, sizeof(float)); }void show_double(double x){show_byte((byte_pointer)&x, sizeof(double)); }void show_pointer(void *x){show_byte((byte_pointer)&x, sizeof(void *)); }int main(){int ival = 12345;float fval = (float)ival;int * pval = &ival;show_int(ival);show_float(12345.0);show_double(12345.0);show_pointer(pval);printf("%d, %x\n", sizeof(int *), &pval);printf("%d, %x\n", sizeof(int *), pval); }?
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的《深入理解计算机系统》读书笔记五:信息的表示和存储的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java web二: xml编程(CRU
- 下一篇: 前端三十二:超链接(a标签)