十六進製制的減法

2021-07-03 21:15:28 字數 1599 閱讀 7966

實驗要求:

程式設計計算3550h-2320h,按16進製制輸出計算所得的差1230h。再輸出3550h-2321h的差,檢驗程式的正確性。

考慮依次將1230h(即0001 0010 0011 0000

b)從高位到低位,每4位二進位制數一組分離出來,再將4位二進位制數轉換為ascii碼,利用dos系統功能呼叫的2號子功能輸出,就得到16進製制資料的輸出效果。本題要求綜合應用移位操作、邏輯操作等指令,並利用條件轉移指令實現簡單的迴圈程式

實驗流程圖:

實驗**:(這裡做了詳細的注釋)

datas segment

;此處輸入資料段**

datas ends

stacks segment

;此處輸入堆疊段**

stacks ends

codes segment

assume cs:codes,ds:datas,ss:stacks

start:

mov ax,datas

mov ds,ax

;此處輸入**段**

mov bx,3550h

sub bx,2321h

mov ch,4;用於控制迴圈,迴圈四次

next1:

mov cl,4

rol bx,cl ;左移四位操作到al中,位移數必須放在cl中

mov dl,bl

and dl,0fh;把無用位清零.

cmp dl,9;比較

ja next2

add dl,30h;在10以下的直接換為ascii碼是加30h

jmp offset s

next2:

add dl,37h ;在10以上的直接換為ascii碼是加37h

s:mov ah,2;顯示dl中的數值,注:2號中斷顯示的是dl中的數值

int 21h

;控制迴圈

sub ch,1

cmp ch,0

jz over;若相等,跳出並迴圈結束

;不相等跳回

jmp offset next1

over :

;顯示乙個h

mov dl,17

add dl,37h

mov ah,2

int 21h

;結束程式

mov ah,4ch

int 21h

codes ends

end start

自己寫出來的,還是挺有成就感的

實驗結果:

大小: 10.3 kb

大小: 17.7 kb

大小: 21.2 kb

Excel輸入十六進製制數,以及十六進製制運算

網上覆制來複製去的連個靠譜答案都沒有.f k 所以無奈自己探索出來了 單元格 a1文字值 a2進製值 輸入內容 fefe oct2hex hex2oct a29 由於單元格沒有提供進製格式,所以填入的值實際上是文字值,但是轉換函式卻可以把文字值視為進製值拿去轉換 所以我們兩次轉換就能得到真正的進製數...

進製轉換 十六進製制轉八進位制 十六進製制轉十進位制

在十六進製制轉為八進位制的過程中包含了將十六進製制轉化為二進位制以及將二進位制轉化為八進位制!我自己測試是沒什麼問題,但是在藍橋杯官網的測試系統就顯示執行錯誤qwq 不知道為什麼 附 include includeusing namespace std int main if len2 i 3 2 ...

十六進製制位元組 十六進製制轉二進位制

做專案也將近一年的時間了。從一開始就經常提到 乙個十六進製制位元組 然而一開始就是迷惑的,直到現在。乙個十六進製制位元組,比如 ff。周圍的人經常說這是乙個十六進製制位元組。然後我就想,這不是兩個字元嗎,分別是f 和f,乙個字元是乙個位元組,兩個字元是兩個位元組,怎麼就成乙個十六進製制位元組,就成乙...