求一个十进制转换为二进制的问题

poplintse 2006-07-30 02:16:46
一个十进制数 “255” 怎么可以转换成为一个二进制数,最后输入为“11111111”这个字符串呢?

请大家指教!!!
...全文
296 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
poplintse 2006-07-30
  • 打赏
  • 举报
回复
xiaohuasz() 的不错,原来还可以这么写,我原来写
Convert.ToString("255", 2) 结果出不了。。。
谢谢
xiaohuasz 2006-07-30
  • 打赏
  • 举报
回复
Convert.ToString(255, 2)
fxyfx 2006-07-30
  • 打赏
  • 举报
回复
给你一段VB代码,自己换成C#吧!
Private Function Convert(ByVal a As Integer) As String
Dim result As Integer
result = a
If result = 0 Then
Convert = "00000000"
Else
Do While result <> 1
If CStr(result Mod 2) = "0" Then
Convert = "0" & Convert
Else
Convert = "1" & Convert
End If
result = result \ 2
Loop
Convert = "1" & Convert
If Len(Convert) <> 8 Then
Convert = Right("00000000" & Convert, 8)
End If
End If
End Function
szc21 2006-07-30
  • 打赏
  • 举报
回复
例如:8转换成2进制,用8/2=4,余数为0(第一个数),继续4/2=2,余数为0(第2个数),2/2=1,余数为0(第3个数),1不能在分,最后一个数,合起来就是1000.255也是一样的除法.这样写的:
     1 |13
       ----
0 |6
---
1 |3
---
1
左边为余数,底下为/2的结果,反过来写成1101就是13
ProjectDD 2006-07-30
  • 打赏
  • 举报
回复
楼主这是基础啊

设10进制数A

如果将其转化为二进制则这样

2^n + 2^(n-1) +...+ 2^0 ...(1) ("^"号为指数连接号,2^n 这里的意思为2的n次方)

这样任何一个A都可以写为(1)表达式

例如:
100010011111111000
共18位,那么
它转化为A就应该是
2^18 + 0 +0 +0 +2^14....如此类推到最后一位即可

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧