回 帖 发 新 帖 刷新版面

主题:带小数十进制转二进制

CLS
INPUT a
a$ = LTRIM$(STR$(a))
p = INSTR(1, a$, ".")
IF p > 0 THEN a = VAL(LEFT$(a$, p - 1))
PRINT "("; a$; ")"; "10=(";
DIM z(10000)
DO
  k = k + 1
  z(k) = a MOD 2
  a = a \ 2
LOOP UNTIL a = 0
FOR i = k TO 1 STEP -1
  PRINT USING "#"; z(i);
NEXT i
IF p = 0 THEN PRINT ")2": END
DIM x(10000)
a = VAL("0" + MID$(a$, p, LEN(a$) - p + 1))
k = 0: PRINT ".";
DO
  a = a * 2
  k = k + 1
  x(k) = VAL(LEFT$(LTRIM$(STR$(a)), 1))
  IF a = 0 OR a = 1 THEN EXIT DO
  IF a >= 1 THEN a = a - 1
LOOP
FOR i = 1 TO k
  PRINT LTRIM$(STR$(x(i)));
NEXT i
PRINT ")2"
END

回复列表 (共7个回复)

沙发

hohohohohohohoho

板凳

3 楼

你?什麼

4 楼

小數部分10轉2的辦法是乘取整

5 楼

??????我是新手,呵呵呵呵呵呵

6 楼

十月你别能,呵呵呵

7 楼

什么东西??

我来回复

您尚未登录,请登录后再回复。点此登录或注册