質問編集履歴

1

関数set_nの追加

2017/09/09 12:42

投稿

kamecha
kamecha

スコア41

test CHANGED
File without changes
test CHANGED
@@ -23,6 +23,50 @@
23
23
  ###該当のソースコード
24
24
 
25
25
  ```lang-c
26
+
27
+ unsigned set_n (unsigned x, int pos, int n){
28
+
29
+ int y = 0; //第posビットから pos + n - 1ビットまで1のビット
30
+
31
+ int i = 1U;
32
+
33
+ int t;
34
+
35
+ if(pos != 0){
36
+
37
+ for(t = 0; t < pos + n - 1; t++){
38
+
39
+ i <<= pos + t;
40
+
41
+ y = y | i;
42
+
43
+ i = 1U;
44
+
45
+ }
46
+
47
+ }else{
48
+
49
+ for(t = 0; t < n; t++){
50
+
51
+ i <<= t;
52
+
53
+ y = y | i;
54
+
55
+ i = 1U;
56
+
57
+ }
58
+
59
+ }
60
+
61
+
62
+
63
+ return x | y;
64
+
65
+ }
66
+
67
+
68
+
69
+
26
70
 
27
71
  unsigned reset_n(unsigned x, int pos, int n){
28
72