X



トップページ電気・電子
1002コメント367KB

Arduino初心者熱烈大歓迎質問スレ part33

■ このスレッドは過去ログ倉庫に格納されています
0001774ワット発電中さん
垢版 |
2021/12/07(火) 10:52:54.82ID:015O2ewy
http://www.arduino.cc/

【質問者心得】
・スレに一応目を通してから質問しましょう
・回答者はエスパーではありません。状況が分かるように詳しく書きましょう
 詳しく書いてくれないと、答える方も困ってしまいます。答えようがないのです
【回答者心得】
・すぐにググレカスと言う前に「○○でググれカス」って言うような大人の余裕を見せつけてやりましょう
・節度ある初心者さんには、特に優しくね

前スレ
Arduino初心者熱烈大歓迎質問スレ part31
https://rio2016.5ch.net/test/read.cgi/denki/1623898761/
Arduino初心者熱烈大歓迎質問スレ part32
https://rio2016.5ch.net/test/read.cgi/denki/1633840724/

過去スレ
Arduino初心者熱烈大歓迎質問スレ part30
https://rio2016.5ch.net/test/read.cgi/denki/1613577696/
Arduino初心者熱烈大歓迎質問スレ part29
http://rio2016.5ch.net/test/read.cgi/denki/1601349163/
Arduino初心者熱烈大歓迎質問スレ part28
https://rio2016.5ch.net/test/read.cgi/denki/1591734520/
Arduino初心者熱烈大歓迎質問スレ part27
http://rio2016.5ch.net/test/read.cgi/denki/1585316143/
Arduino初心者熱烈大歓迎質問スレ part26
http://rio2016.5ch.net/test/read.cgi/denki/1579146318/
Arduino初心者熱烈大歓迎質問スレ part25
http://rio2016.5ch.net/test/read.cgi/denki/1568358922/
Arduino初心者熱烈大歓迎質問スレ part24
http://rio2016.5ch.net/test/read.cgi/denki/1554776918/
Arduino初心者熱烈大歓迎質問スレ part23
http://rio2016.5ch.net/test/read.cgi/denki/1541233445/
Arduino初心者熱烈大歓迎質問スレ part22
http://rio2016.5ch.net/test/read.cgi/denki/1534549073/
Arduino初心者熱烈大歓迎質問スレ part21
http://rio2016.5ch.net/test/read.cgi/denki/1527252804/
Arduino初心者熱烈大歓迎質問スレ part20
http://rio2016.5ch.net/test/read.cgi/denki/1514503488/
Arduino初心者熱烈大歓迎質問スレ part19
http://rio2016.2ch.net/test/read.cgi/denki/1500745528/
Arduino初心者熱烈大歓迎質問スレ part18
http://rio2016.2ch.net/test/read.cgi/denki/1485192244/
0283774ワット発電中さん
垢版 |
2022/01/03(月) 15:50:48.85ID:9rVkN6IF
扱いやすいように配列にいれておく

d[0]=0
d[1]=0
d[2]=0
d[3]=0
d[4]=1
d[5]=1
d[6]=0
d[7]=1

uint8_t dat=0;
for (uint8_t i=0;i<8;i++){
dat=dat | (d[0] & 1); //LSBにbit set
dat=dat<<1; //右にシフト
}
0284774ワット発電中さん
垢版 |
2022/01/03(月) 15:52:07.69ID:9rVkN6IF
まちごうた

for (uint8_t i=0;i<8;i++){
dat=dat<<1; //右にシフト
dat=dat | (d[0] & 1); //LSBにbit set
}
0285774ワット発電中さん
垢版 |
2022/01/03(月) 18:53:49.37ID:dDaIJqEU
僕はコピペ派だ(^p^)
>>282
char cTemp=0;
cTemp |= {a? '\x80' :'\x00'};
cTemp |= {b? '\x40' :'\x00'};
cTemp |= {c? '\x20' :'\x00'};
cTemp |= {d? '\x10' :'\x00'};
cTemp |= {e? '\x08' :'\x00'};
cTemp |= {f? '\x04' :'\x00'};
cTemp |= {g? '\x02' :'\x00'};
cTemp |= {h? '\x01' :'\x00'};
// これでchar型に変換完了
{int nTemp = (int)cTemp;
printf ("十進数:%d\n", nTemp);}
0286774ワット発電中さん
垢版 |
2022/01/03(月) 18:57:23.70ID:dDaIJqEU
ああ あと、老婆心ながら、
最上位ビット立った時は負の数だ、という前提になってるので
0-255ならアンサインドにしないと ですぞぃ。
0287774ワット発電中さん
垢版 |
2022/01/03(月) 19:08:27.55ID:MXLzm95s
C言語、ビット演算子でググるほうが先だな。理解すれば後は好きに書けるだろう。
0288774ワット発電中さん
垢版 |
2022/01/03(月) 19:21:12.82ID:h76XP602
>>282
ビットシフトとか辛ければこれで(;´・ω・)
uint8_t moemoe = a*128 + b*64 + c*32 + d*16 + e*8 + f*4 + g*2 + h
Serial.print(moemoe,DEC);
Serial.print(moemoe);
0289774ワット発電中さん
垢版 |
2022/01/03(月) 19:35:11.49ID:mutRFUli
>>282
int x = a*128 + b*64 + c*32 + d*16 + e*8 + f*4 + g*2 + h*1;
これが考え方の基本で、もちろんこのままで動く。念のために
Serial.println(x);
とでもやって確かめると良い。

これではみっともないと思ったら、前の人がレスしたように
ループとビット処理を使って計算すれば良いけどやってるこ
との意味は同じ。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況