楼 主
十进制数转任意进制问题
发表于 2008-03-04 23:12 · 中国 江苏 常州 电信
银牌会员
★★★
积分 2,404 发帖 946 注册 2005-09-08 13:44 UID 42345
状态 离线
任意进制数 算式应该成立的吧 高人看一下
谢26933062指点 gtr改geq
@echo off&setlocal enabledelayedexpansion
set/p a=请输入要转换的十进制数:
set aa=%a%
set/p b=请输入要转换的几进制?
set str=0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
:hex
set/a m=!a!/!b!
set/a n=!a!%%!b!
set n=!str:~%n%,1!
set h=!n!!h!
if !m! geq !b! set a=!m! &goto hex
set m=!str:~%m%,1!
echo !aa!的!b!进制数 !m!!h!
pause
下面是单独转2进制的 要让它能转负数 有可能吗
@echo off
set/p a=请输入要转换的十进制数:
set aa=%a%
if %a% gtr 2147483647 echo 超出运算范围&goto&exit
:str
set/a b=^!(^!(%a%%%2))
set n=%b%%n%
if %a% geq 2 set/a a=%a%/2 &&goto str
cls
echo %aa% 的二进制为 %n%
pause
[
Last edited by terse on 2008-3-5 at 02:23 PM ]
简单!简单!再简单!
第 2 楼
发表于 2008-03-05 11:17 · 中国 浙江 杭州 电信
高级用户
★★
积分 537 发帖 219 注册 2007-08-04 09:43 UID 94620 性别 男 来自 杭州--半山
状态 离线
请输入要转换的十进制数:65536
请输入要转换的几进制?16
65536的16进制数 g000
请按任意键继续. . .
有错误。应该是10000
16进制是只包含0-9以及a-f.
7777 的二进制为 1111001100001
请按任意键继续. . .
有错误。
应该是0111011101110111
[ Last edited by junchen2 on 2008-3-5 at 11:59 AM ]
第 3 楼
发表于 2008-03-05 12:05 · 中国 湖南 娄底 电信
银牌会员
★★★
积分 2,268 发帖 879 注册 2006-12-19 16:23 UID 73968 性别 男
状态 离线
最后商为16时,还要除一次吧?
把 gtr 改为 geq 应该就对了,答案是 10000 不知道对不对?
[ Last edited by 26933062 on 2008-3-5 at 12:23 PM ]
致精致简!
第 4 楼
发表于 2008-03-05 14:22 · 中国 江苏 常州 溧阳市 电信
银牌会员
★★★
积分 2,404 发帖 946 注册 2005-09-08 13:44 UID 42345
状态 离线
Originally posted by junchen2 at 2008-3-5 11:17:
请输入要转换的十进制数:65536
请输入要转换的几进制?16
65536的16进制数 g000
请按任意键继续. . .
有错误。应该是10000
16进制是只包含0-9以及a-f.
...
65536的16进制数 g000 这个问题应该是GTR问题,改为geq应该可以
十进制的7777 的二进制为 1111001100001 这个应该对吧 十六进制的7777才是0111011101110111啊
另:
谢26933062的指教
[
Last edited by terse on 2008-3-5 at 02:26 PM ]
简单!简单!再简单!
第 5 楼
发表于 2008-03-06 00:42 · 中国 浙江 杭州 电信
高级用户
★★
积分 537 发帖 219 注册 2007-08-04 09:43 UID 94620 性别 男 来自 杭州--半山
状态 离线
十进制的7777 的二进制为 1111001100001 这个应该对吧 十六进制的7777才是0111011101110111啊
我倒!翻一下程序设计书吧。
第 6 楼
发表于 2008-03-06 00:50 · 中国 江苏 常州 溧阳市 电信
银牌会员
★★★
积分 2,404 发帖 946 注册 2005-09-08 13:44 UID 42345
状态 离线
Originally posted by junchen2 at 2008-3-6 00:42:
十进制的7777 的二进制为 1111001100001 这个应该对吧 十六进制的7777才是0111011101110111啊
我倒!翻一下程序设计书吧。
呵呵 我用的是 开始-所有程序-附件-计算器
简单!简单!再简单!
第 7 楼
发表于 2008-03-06 00:59 · 中国 浙江 杭州 电信
高级用户
★★
积分 537 发帖 219 注册 2007-08-04 09:43 UID 94620 性别 男 来自 杭州--半山
状态 离线
呵呵。是偶搞错了,看样子我是个半桶水啊,哭哭哭。。。。
第 8 楼
发表于 2008-03-06 12:23 · 中国 上海 联通
版主
★★★★★
积分 9,023 发帖 5,017 注册 2007-05-31 19:39 UID 89899 性别 男
状态 离线
十进制转二进制:除2倒取余法
7777/2=3888 余1
3888/2=1944 余0
1944/2=972 余0
972/2=486 余0
486/2=243 余0
243/2=121 余1
121/2=60 余1
60/2=30 余0
30/2=15 余0
15/2=7 余1
7/2=3 余1
3/2=1 余1
1
结果:1111001100001
十六进制转二进制:8421法
7:0111
7:0111
7:0111
7:0111
结果:0111011101110111
第 9 楼
发表于 2008-03-06 14:38 · 中国 福建 福州 联通
高级用户
★★
积分 581 发帖 277 注册 2006-12-23 05:10 UID 74328 性别 男
状态 离线
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正