将Pharo中的十进制数转换为二进制数



我正试图使用Pharo将十进制数转换为二进制数,但我在递归消息方面遇到了问题。我想我可以对值进行字符串连接,这样当我给它值5时,我会得到101,但我得到了一个神秘的错误。我将这个添加到SmallInteger类中。有人有什么建议吗?

errorNotIndexable
"Create an error notification that the receiver is not indexable."
self error: ('Instances of {1} are not indexable' format: {self class name})
decimalBinary
self >= 1
ifTrue: [(self % 2) asStringWithCommas , 
(self // 2) decimalBinary.].
self error: 'Not valid for negative integers'

试试这个(Integer>#SmallInteger(

decimalBinary

| b |

b := ''.
self >= 1 ifTrue: [
b := (self % 2) asString, ((self // 2) decimalBinary) asString].

^b

游戏中的

| a |
a := 5.
5 decimalBinary

相关内容

  • 没有找到相关文章

最新更新