- Siêu lớp và danh mục iOS/Objective-C
- object-c - -1001 lỗi khi NSURLSession vượt qua httpproxy và /etc/hosts
- java - Nhận địa chỉ url bằng lớp mạng
- ios - Âm thanh không phát trong thông báo đẩy
Hiện tại tôi đang giải quyết một vấn đề như sau:
Có hai số x1 và x2 và x2 > x1.
Ví dụ x1 = 5; x2 = 10;
Và tôi phải tìm tổng giữa x1 và x2 dưới dạng biểu diễn nhị phân.
5 = 101 => 2 cái
6 = 110 => 2 cái
7 = 111 => 3 cái
8 = 1000 => 1 một
9 = 1001 => 2 cái
10= 1010 => 2 cái
vậy tổng sẽ là
tổng = 2 + 2 + 3 + 1 + 2 + 2 = 12 đơn vị;
Vì vậy, tôi đã cố gắng viết một đoạn mã thậm chí không chuyển đổi các số thành nhị phân và lãng phí thời gian thực thi.
Tôi để ý mỗi 2^n
中 n >= 1
Số lượng là 1
Ví dụ:2^1 => số 1
2^2 => 1
2^15 => 1
Bạn có thể kiểm tra nó ở đây nếu cần:https://www.rapidtables.com/convert/number/decimal-to-binary.html?x=191
trong mọi 2^n và 2^(n+1)
Có những số liên tiếp ở giữa, bạn sẽ thấy trong ví dụ này:
num số cái
2^4 = 16 1
17 2
18 2
19 3
20 2
21 3
22 3
23 4
24 2
25 3
26 3
27 4
28 3
29 4
30 4
31 5
2^5 = 32 1
Vì vậy tôi đã viết một đoạn mã để tìm2^n và 2^(n+1)
Có bao nhiêu cái ở giữa
int t; //// lượt
int bin = 1; //// số đơn vị ở định dạng nhị phân ,, và 1 cho 2^5
int n1 = 32; //// 2^5 đây chỉ là để làm rõ
int n2 = 64; //// 2^6
int *keep = malloc(sizeof(int) * (n2 - n1); ///cái này là để giữ số vì
/// tôi sẽ cần nó sau này trong những con số liên tiếp của tôi
int i = 0;
int a = 0;
n1 = 33 //// Tôi sẽ bắt đầu từ 33 vì "bin" của 32 là "1";
while (n1 < n2) /// hãy thử tự hiểu nó ngay bây giờ
{
t = 0;
trong khi (t <= 3)
{
nếu (t == 0 || t == 2)
thùng = thùng + 1;
khác nếu (t == 1)
thùng = thùng;
khác nếu (t == 3)
{
bin = giữ [i];
i++;
}
giữ [a] = thùng;
a++;
t++;
}
n1++;
}
Dù sao, như bạn có thể thấy, tôi gần giải quyết được vấn đề, nhưng họ cho tôi những con số khổng lồ và tôi phải tìm số giữa chúng, tiếc là tôi đã thử rất nhiều cách để tính nó bằng đoạn mã trên" tổng ", nhưng cuối cùng tôi đã giải quyết được vấn đề thực thi thời gian.
Ví dụ:1, số 1000000000 là >>> 14846928141
Vì vậy, bạn có thể cho tôi một số lời khuyên về những việc cần làm tiếp theo không, cảm ơn trước.
Tôi đã làm điều này cho thử thách CodeWar:https://www.codewars.com/kata/596d34df24a04ee1e3000a25/train/c
câu trả lời hay nhất
Bạn có thể tính toán 1
đến n
số chữ số trong phạm vi và sử dụng phép trừ đơn giản cho bất kỳ phạm vi con nào:
#include
#include
/* tính số bit được đặt trong tất cả các số từ 0 đến n bị loại trừ */
bitpop dài không dấu (dài dài không dấu n) {
số lượng dài không dấu = 0, p = 1;
trong khi (p < n) {
p += p;
/* một nửa số trong các lát hoàn chỉnh của giá trị p có tập bit thứ n */
đếm += n/p * p/2;
nếu (n % p >= p / 2) {
/* tất cả các số trên p / 2 trong phần cuối cùng đều có nó */
đếm += n % p - p / 2;
}
}
số lần trả lại;
}
int main(int argc, char *argv[]) {
dài không dấu từ = 1000, đến = 2000;
nếu (argc > 1) {
đến = từ = strtoull(argv[1], NULL, 0);
nếu (argc > 2) {
to = strtoull(argv[1], NULL, 0);
}
}
printf("bitpop from %llu to %llu: %llu\n", from, to, bitpop(to + 1) - bitpop(from));
return 0;
}
Về việc tính toán một trong các phân đoạn (nhị phân), chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/53403775/
Tôi đang cố gắng tích hợp Google Maps vào Xamarin Android. Tuy nhiên, như được viết trong tiêu đề, đã nhận được một lỗi. Lỗi này xuất hiện trên SetContentView (Resource.Layout.Main) của tôi như hiển thị bên dưới:
Làm cách nào để mở tệp nhị phân ở chế độ không phải văn bản trong Delphi? Tương tự như hàm fopen(filename,"rb") trong C Câu trả lời tốt nhất có một số tùy chọn. 1. Sử dụng luồng tệp var Stream: TFileStrea
Hiện nay em đang giải một bài toán như sau: Có hai số x1 và x2 và x2 > x1. Ví dụ x1 = 5; x2 = 10; và tôi phải tìm tổng giữa x1 và x2 dưới dạng biểu diễn nhị phân. 5 = 10
Tôi có tệp "hợp ngữ" này (chỉ chứa các lệnh) // khai báo vùng được bảo vệ ở đâu đó trong ngăn xếp .equiv prot_s
Có cách nào để xác định trong powershell xem một tệp được chỉ định có chứa mảng byte được chỉ định hay không (tại bất kỳ vị trí nào)? Giống như: fgrep --binary-files=binary "$data" "$filepath" Tất nhiên,
Tôi là một kỹ sư, không phải lập trình viên phần mềm, vì vậy xin thứ lỗi cho sự thiếu hiểu biết của tôi. Tôi đã viết chương trình Delphi(7SE) để đọc các loại dữ liệu "thực" từ cổng USB được kết nối với hai nhiệt kế kỹ thuật số. Tôi đã hoàn thành hầu hết chương trình.
Tôi có một số mã như: u=(float *)calloc(n, sizeof(float)); for(i=1; i
typedef struct pixel_type { char không dấu r; char không dấu g;
Làm thế nào để biết số nhị phân có âm hay không? Hiện tại tôi có mã dưới đây. Nó chuyển đổi thành tập tin nhị phân tốt. Khi chuyển đổi sang số thập phân, tôi cần biết bit ngoài cùng bên trái có phải là 1 hay không để biết liệu nó có âm hay không, nhưng dường như tôi không thể tìm ra cách thực hiện điều đó. Ngoài ra, làm cách nào tôi có thể khiến nó quay trở lại
Tôi có một lớp vectơ với các toán tử Vect*float được nạp chồng thích hợp và tôi đang cố gắng tạo một toán tử float*Vect toàn cầu/không phải thành viên như thế này: (lưu ý đây là một ví dụ được chỉnh sửa nhiều) lớp Vect
Đối với một dự án được lập trình bằng C, chúng tôi đang cố gắng chuyển đổi hình ảnh thành dữ liệu nhị phân và ngược lại. Tất cả các giải pháp khác mà chúng tôi tìm thấy trực tuyến đều được viết bằng C++ hoặc Java. Đây là những gì chúng tôi đã thử: Chuyển đổi hình ảnh thành tệp văn bản chứa dữ liệu nhị phân
Tôi cần tính tổng các phần tử của một danh sách chứa toàn số 0 hoặc số 1, nếu có số 1 trong danh sách thì kết quả là 1, ngược lại là 0. def nhị phân_search(l, low=0,high=-1): nếu không phải l: retu
Tôi đã tìm kiếm khắp nơi để tìm cách chuyển đổi float sang bát phân hoặc nhị phân. Tôi biết float.hex và float.fromhex. Có mô-đun nào có thể thực hiện điều tương tự với các giá trị bát phân/nhị phân không? Ví dụ: Tôi có float 1
Khi tôi đọc mã nguồn FreeBSD về hlist trong tệp list.h, tôi đã nhầm lẫn về macro này: #define hlist_for_each_entry_safe(tp, p, n, head,
Tôi không biết điều gì đã xảy ra hoặc tại sao tôi lại gặp phải lỗi này. Tôi đã tìm kiếm xung quanh nhưng tôi không thể tìm ra nó. void print_arb_base(unsigned int n, unsigned int b) {
Chuyển đổi số thập phân sang nhị phân và ngược lại dễ dàng bằng bất kỳ ngôn ngữ nào, nhưng tôi cần một hàm phức tạp hơn một chút. Cho một số thập phân và một bit nhị phân, tôi cần biết bit nhị phân đó bật hay tắt (đúng hay sai). Ví dụ: IsBitTrue(30,1
Trong đoạn mã bên dưới, tôi tạo hai tệp, một ở định dạng văn bản và một ở định dạng nhị phân. Các biểu tượng cho các tập tin xuất hiện giống nhau. Nhưng đặc điểm của cả hai tệp hoàn toàn giống nhau, bao gồm kích thước, bộ ký tự (== nhị phân) và luồng (octet). Tại sao không có tập tin văn bản? Vì nếu tôi hiểu
Tôi muốn đọc qua một tập tin nhị phân. Googling "python nhị phân eof" đã dẫn tôi đến đây Bây giờ, câu hỏi: tại sao vùng chứa (x trong câu trả lời SO) không chứa một byte (hiện tại) mà là cả một bó byte? Tôi đã làm gì sai? nếu nên
Tại sao dấu thập phân chỉ được phép trong cơ số 10? Tại sao phần sau đây lại gây ra lỗi cú pháp? 0b1011101.1101 Có sự mơ hồ nào về số tôi đã nhập không? Chuỗi dường như không có số nào khác ngoài 93,8125 và vấn đề tương tự cũng xảy ra với nó
Có thứ gì như nhị phân trong thư viện boost không? Ví dụ tôi muốn viết: nhị phân a; Tôi xấu hổ khi thừa nhận rằng tôi đã cố gắng tìm nó (Google, Boost) nhưng không có kết quả. Họ đã đề cập điều gì đó về nhị phân_int<> nhưng tôi có cả hai
Tôi là một lập trình viên xuất sắc, rất giỏi!