在Scheme(Racket)中更改二进制数中的特定索引位

时间:2017-04-14 13:10:14

标签: binary scheme lisp racket

我需要在Scheme中实现更改二进制数中特定位的可能性。

输入为:1.binary number,2.要更改的位的索引,3.要在该索引中设置的值。

如何实施?

2 个答案:

答案 0 :(得分:1)

这是解决方案的开始。你能看出在剩下的情况下需要做些什么吗?

<div ng-repeat="element in list"> 
    <div ng-if="::(someFunction(element))">
        <my-directive-a></my-directive-a>
    </div>
    <div ng-if="::(!someFunction(element))">
        <my-directive-b></my-directive-b>
    </div>
</div>

答案 1 :(得分:0)

(define (set-bit value index n)
  (let ([mask (arithmetic-shift 1 index)])
    (cond [(= value 0) (bitwise-and (bitwise-not mask) n)]
          [(= value 1) (bitwise-ior mask n)])))