![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-05 20:20 |
共 48,039 主题排行 / 350,124 发帖 / 今日 2 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [原创]*********十进制转其它进制********** |
| 可打印版本 1,028 / 9 |
| 第1楼 s11ss | 发表于 2007-09-18 17:18 |
| 银牌会员 发帖 566 积分 2,098 | |
|
[原创]*********十进制转其它进制********** @echo off
setlocal enabledelayedexpansion ::::::::::::::::::::::::::10 to 2,8,16 {s11ss 2007-9-18}:::::::::::::::::::::::::: echo Please input a number expressed in decimalism :(Assuming that it possesses 2 bytes.) :Rec set /p num= if !num! gtr 32767 (call :w) if !num! lss -32767 (call :w) if !num! equ 0 (echo. & echo No matter what system it is expressed in,it's always 0. & goto :eof) set /a flag=1 if !num! lss 0 (set /a num=65536+!num! & set /a flag=-1) echo. echo Calculating... if !num! gtr 0 ( for %%a in (2,8,16) do ( set /a counter=0 set /a quotient=!num! set result= call :n %%a call :c %%a call :p %%a ) goto :eof ) :w echo. echo Error.The number's value is allowed in [-32767,32767] only.Please try again. goto :Rec :n set /a remainder=!quotient!%%%1 set /a quotient=!quotient!/%1 if %1 equ 16 ( call :16 10 A call :16 11 B call :16 12 C call :16 13 D call :16 14 E call :16 15 F ) set result=!remainder!!result! set /a counter+=1 if !quotient! equ 0 (goto :eof) else (goto :n) :16 if !remainder! equ %1 set remainder=%2 goto :eof :p if %1 equ 2 ( set newrslt=!result:~0,4! for /l %%a in (4,4,16) do ( set newrslt=!newrslt! !result:~%%a,4! ) set t=1.Binary: set result=!newrslt! echo. echo The result is : ) if %1 equ 8 (set t=2.Octal:) if %1 equ 16 (set t=3.Hex:) echo. echo !t! echo !result! goto :eof :c if %1 equ 2 (set a=16& set b=0& set c=1) if %1 equ 8 (set a=6& set b=0& set c=1) if %1 equ 16 (set a=4& set b=0& set c=F) if not !counter! equ !a! ( set /a cnum=!a!-!counter! if !flag! equ 1 (set cch=!b!) else (set cch=!c!) for /l %%a in (1,1,!cnum!) do (set result=!cch!!result!) ) goto :eof |
|
| 第2楼 wudixin96 | 发表于 2007-09-18 17:52 |
| 银牌会员 发帖 931 积分 1,928 | |
|
呵呵,楼主真有意思,每天一原创。
加分加分 |
|
| 第3楼 vkill | 发表于 2007-09-18 20:15 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
|
10 to 16 可以试试 ping
|
|
| 第4楼 s11ss | 发表于 2007-09-18 23:24 |
| 银牌会员 发帖 566 积分 2,098 | |
Originally posted by vkill at 2007-9-18 08:15 PM: ping ?延时? |
|
| 第5楼 scriptor | 发表于 2007-09-19 00:15 |
| 银牌会员 发帖 555 积分 1,187 | |
|
这个好似我以前写过一个任意进制的
呵呵... 鼓励原创.......加油啊!! |
|
| 第6楼 vkill | 发表于 2007-09-19 21:02 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
Originally posted by s11ss at 2007-9-18 23:24: for 来处理ping的回显 |
|
| 第7楼 s11ss | 发表于 2007-09-19 23:11 |
| 银牌会员 发帖 566 积分 2,098 | |
Originally posted by vkill at 2007-9-19 09:02 PM: 请问与进制转换有关系么? |
|
| 第8楼 lxmxn | 发表于 2007-09-19 23:59 |
| 版主 发帖 4,938 积分 11,386 | |
Originally posted by s11ss at 2007-9-19 23:11:可以用ping命令简单实现10到16进制的转换,论坛以前有过讨论,搜索一下先? |
|
| 第9楼 zh159 | 发表于 2007-09-20 00:38 |
| 金牌会员 发帖 1,467 积分 3,687 | |
|
这是收藏的一段进制转换器,原来是html的,我把它改为HTA了
|
|
| 第10楼 s11ss | 发表于 2007-09-20 15:26 |
| 银牌会员 发帖 566 积分 2,098 | |
Originally posted by lxmxn at 2007-9-19 11:59 PM: 又长见识了,呵呵~~ |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |