導航:首頁 > 操作系統 > 單片機有符號數

單片機有符號數

發布時間:2022-06-28 00:29:08

單片機如何進行兩個有符號數的相乘

在 keil編譯器裡面 使用C語言編程 將變數定義為有符號數 就可以實現你需要的功能
若是想知道原理,可以再網上搜索單片機通用子程序 裡面大部分都有多位元組的有符號和無符號數的四則運算

⑵ 單片機中有一個數據為89H,考慮無符號數有符號數(為補碼時),其真值為多少

無符號 137

有符號 -119


如果選擇字、雙字、四字,89則顯示137

⑶ 單片機中怎麼區分帶符號的數

就看PSW的
8位數值,進位是cy溢出是ov他們對應的位不一樣
不過他們與有無符號無關,符號數十看最高位是0或1的

⑷ 51單片機 用匯編語言怎麼編程:幾個有符號數的比較大小

51單片機中,沒有專門的有符號數比較指令,只能通過一些變通的方法來實現,比如:
比較30H和40H中有符號數的大小,結果放在R2中,大於則為1,等於為0,小於為128:
CMPDAT:
MOV A,30H
JB ACC.7,CMPF1
MOV B,A
MOV A,40H
JB ACC.7,CMPZ2 ;30H正,40H負所以30H>40H
CJNE A,B,CMPZ1 ;均為正,比較大小
MOV R2,#0
RET
CMPZ1:
JC,CMPZ2
CMPZ11:
MOV R2,#128
RET
CMPZ2:
MOV R2,#1
RET
CMPF1:
ANL A,#7FH
MOV B,A
MOV A,40H
JNB ACC.7,CMPF3 ;30H負,40H負
SJMP CMPZ11 ;30負,40H正,所以30H<40H
CMPF3:
ANL A,#7FH
CJNE A,B,CMPF10 ;兩個均為負數
MOV R2,#0
RET
CMPF10:
JC CMPZ2 ;30H<40H(負數小者大)
SJMP CMPZ11 ;30H>40H

⑸ 51單片機中什麼時候會涉及到有符號數計算

有符號數,在計算機中,以補碼表示。
其外形,也是二進制數字,和無符號數,並無差別。

1.51匯編語言add、addc、subb三個指令使用的是有符號數還是無符號數?
--都可以。
--參加運算的,就是普通的二進制數。
--既可以是補碼,也可以是無符號數。

2.51單片機中什麼時候會涉及到有符號數計算?
--由你編程決定。

3.有符號數可以用#data輸入嗎?
--可以。
--如:MOV A, #-100

4.有符號數減法溢出,在psw中怎麼顯示。。。
--如發生溢出,PSW 中,OV = 1。

5.有符號數可以與無符號數相互運算嗎?
--可以。

採納答案,有一些錯誤的概念。

⑹ 單片機里八位有符號數-128怎麼表示的

1000
0000
第一位表示的是負數你懂的。這個就是有符號數在單片機中的存儲樣子。
麻煩採納,謝謝!

⑺ 單片機 兩個有符號數分別在50H和51H裡面,比較他們的大小,最後把大的放入60H單元。

;比較有符號數的大小,可以先進行一次相減,
;再根據差的正負、是否溢出,來區分大小。
;程序如下:
;

ORG
0000H

MOV
50H,
#-28
;先隨便存入兩個數字.

MOV
51H,
#108
;========================================
BIJIAO:
;開始比較.

MOV
A,
50H

CLR
C

SUBB
A,
51H
;(50H)-(51H)

JZ
DA_50H
;差為0轉移.

JB
ACC.7,
FU
;負數轉移.

JB
OV,
DA_51H
;有溢出轉移.

SJMP
DA_50H
;正數且無溢出,轉到(50H)大.
;----------------------------------------
FU:
JB
OV,
DA_50H
;負數且有溢出,轉到(50H)大.
;----------------------------------------
DA_51H:
MOV
60H,
51H
;(51H)大的處理程序.

SJMP
BJ_END
;轉到結束.
;----------------------------------------
DA_50H:
MOV
60H,
50H
;(50H)大的處理程序.
;----------------------------------------
BJ_END:
SJMP
$
;比較程序結束.
;========================================
END

⑻ 匯編語言中,單片機中用什麼來區分有符號數和無符號數

帶符號變數就是這個變數里存儲的數據是可正可負的。
51單片機沒有直接進行帶符號數運算的指令。
例如:i

j
是兩個帶符號變數,兩個數相加,則你編寫程序的時候首先要判斷它們是正數還是負數,然後根據正負進行相應的加法或減法運算。
c語言里支持帶符號變數的運算,如果在c語言里有兩個帶符號變數,可以直接進行加法運算,而不需要判斷其正負。

閱讀全文

與單片機有符號數相關的資料

熱點內容
oraclelinux安裝目錄 瀏覽:133
安卓系統可以安裝編譯器嗎 瀏覽:570
javajson實體類 瀏覽:690
板加密鋼筋是否取代原鋼筋 瀏覽:66
學習編程的思路 瀏覽:230
app易語言post怎麼學 瀏覽:965
地梁的箍筋加密區位置 瀏覽:302
二分法排序程序及編譯結果 瀏覽:679
日語命令形和禁止型 瀏覽:285
安裝軟體用管理員解壓 瀏覽:505
編譯原理代碼塊 瀏覽:400
小孩可以用壓縮面膜嗎 瀏覽:14
錐形倒角怎麼計演算法 瀏覽:882
java合並鏈表 瀏覽:508
pic單片機編譯器 瀏覽:805
麗水四軸加工中心編程 瀏覽:691
國產系統怎麼解壓 瀏覽:553
戰雙程序員 瀏覽:483
him觸摸編程軟體 瀏覽:931
植物大戰僵屍存檔怎麼轉移安卓 瀏覽:852