저는 파이썬에서 절약 IDL 호출을하려고합니다. 하나의 변수의 절약 유형은 I32입니다. 값을 0과 2^32-1 사이로 보내야합니다. 2^31과 2^32-1 사이의 값의 경우 파이썬은 그것들을 long으로 변환합니다. 그래서, 나는 '이 값을위한 형식 코드'의 범위를 벗어나는 정수를 말하는 오류가 발생합니다. 나는 ctypes.c_uint32로 변환을 시도했다. 그것은 작동하지 않았다. 이 문제를 어떻게 해결할 수 있습니까?어떻게 파이썬을 c unsigned int로 변환합니까?
답변
이것은 파이썬 문제가 아니며, 숫자가 i32
필드에 맞는 부분에 대한 오해입니다. Thrift: The Missing Guide에서
: 그들은 드리프트의 대상 언어의 많은 네이티브 (원시) 유형에 직접 변환이 없기 때문에 드리프트 는 부호없는 정수를을 지원하지 않습니다
참고.
과 Thrift Types documentation에서
:참고 부호없는 정수 타입의 부재. 이는 많은 프로그래밍 언어에서 원시 부호없는 정수 유형이 없기 때문입니다.
강조 광산.
결론은 2^31 이상의 값은 부호가없는 i32
32 비트 int에 맞지 않습니다. 2^31-1 이상 2^63-1까지의 값을 사용해야하는 경우 i64
유형을 대신 사용하십시오.
"결론은 2^31 이상의 값은 부호없는 int에 맞지 않습니다." 그래, 이것에 초점을 맞춰야 해. –
@ericchiang : 그리고 Thrift에 대한 연구는 그 프레임 워크가 부호없는 정수를 지원하지 않는다는 것을 보여줍니다. –
@MartijnPieters ist right. 그런 식으로, 그게 바로 이유입니다. – JensG
- 1. 어떻게 C++ 문자열을 int로 변환합니까?
- 2. int를 어떻게 변환합니까? int로
- 3. size_t에서 unsigned int로 변환
- 4. 어떻게 파이썬을 사용하여 소수로 변환합니까?
- 5. String을 float 또는 int로 어떻게 변환합니까?
- 6. 사이즈가 같아도 unsigned int가 unsigned int로 승격되는 이유는 무엇입니까?
- 7. strtoll을 사용하여 이진 문자열을 int로 변환합니까?
- 8. 컴파일러가 unsigned int로 SIGSEGV로 혼동되는 이유는 무엇입니까?
- 9. 벡터 unsigned char을 문자열/int로 변환
- 10. 이 VB 코드를 어떻게 C#으로 변환합니까?
- 11. short int에서 unsigned int로 변환 네트워크 바이트 순서 C++
- 12. char *를 unsigned int로 C 프로그래밍에서 win32로 변환하는 방법
- 13. C++ 배열을 char에서 unsigned int로 변환하는 것이 적절하고 안전합니까?
- 14. 부호없는 long long에서 unsigned int로 변환
- 15. char 배열을 unsigned int로 변환하는 방법은 무엇입니까?
- 16. VC++에서 unsigned long을 int로 변환 했습니까?
- 17. C++/CLI의 인터페이스로 어떻게 변환합니까?
- 18. C++ 어떻게 문자열을 char로 변환합니까
- 19. C#에서 ushort를 어떻게 변환합니까?
- 20. OCaml - 어떻게 문자열을 int로 변환합니까? OCaml의 및 Im'trying에서
- 21. 어떻게이 SQL 쿼리를 String에서 Int로 변환합니까?
- 22. C unsigned char에서 unsigned char로 캐스팅 4
- 23. 어떻게 파이썬을 C++로 확장합니까?
- 24. C/C++ : char []의 int 변환이 실패하고, unsigned char []가 int로 변환됩니다. 이유는 무엇입니까?
- 25. ProductReturnType을 어떻게 행렬로 변환합니까?
- 26. 바이트를 mb로 어떻게 변환합니까?
- 27. 어떻게 시간 형식으로 값을 변환합니까? 객관적인 c
- 28. 어떻게 문자열을 OctetString (C#)으로 변환합니까?
- 29. php의 openssl_sign을 C#으로 어떻게 변환합니까?
- 30. 어떻게 LISP 코드를 C 코드로 변환하거나 변환합니까?
NumPy를 사용해 보셨습니까? –
@salmanwahed : Thrift는 RPC 프레임 워크이며 NumPy와 완전히 직교합니다. –