Tôi có một số (ví dụ 5) mà tôi sẽ lần đầu tiên muốn chuyển đổi sang nhị phân (101) và sau đó tách ra thành một mảng bit {1,0,1}
hoặc Booleans {True,False,True}
trong VBAInteger để boolean/mảng bit mà không lặp
Liệu có cách nào để làm điều này mà không lặp?
tôi có thể chuyển đổi sang nhị phân mà không lặp trong mã của tôi với công thức bảng tính như sau
myBinaryNum = [DEC2BIN(myDecInteger,[places])]
Nhưng tôi đã nói rằng chức năng bảng tính rất hiệu quả, và điều này là đặc biệt hạn chế.
Tôi không chắc chắn cách tách thành mảng mà không lặp qua các chữ số với MID
. Có điều gì giống như strConv
cho các số không?
, trong dung dịch thứ hai của bạn (với một vòng lặp), ý nghĩa của 'i = 32 ** & **' là gì, không phải '&' khai báo giá trị trước đó là kiểu 'Long', nhưng vì' i' đã được khai báo và 32 chỉ là một số , Tôi không thực sự chắc chắn điều đó có nghĩa là gì? – Greedo
'32 &' có nghĩa là 32 được sử dụng như một 'Long'. Chỉ một mình '32' được sử dụng như một' Số nguyên'. Nó rất hữu ích khi giá trị được gán cho một biến thể và khi bạn cần nó để giữ một 'Long' hoặc để tránh một tràn trên một hoạt động. Nó không quan trọng ở đây vì nó được tự động chuyển thành kiểu 'i' là' Long'. –