我使用的是ubuntu 12.04,默认的gcc是4.6.3.它不接受c ++ 11命令,并给我输出说该命令不兼容c ++ 98.我在网上查看并看到有人建议不要在操作系统上更改默认编译器,因为它变得不稳定.任何人都可以建议修复或安全地下载符合c ++ 11的gcc编译器.
我试图理解galois LFSR代码是如何工作的.在维基百科页面上有一个带有示例的图.有一个C片段代码.
#include <stdint.h>
uint16_t lfsr = 0xACE1u;
unsigned period = 0;
do {
unsigned lsb = lfsr & 1; /* Get lsb (i.e., the output bit). */
lfsr >>= 1; /* Shift register */
if (lsb == 1) /* Only apply toggle mask if output bit is 1. */
lfsr ^= 0xB400u; /* Apply toggle mask, value has 1 at bits corresponding
* to taps, 0 elsewhere. */
++period;
} while(lfsr != 0xACE1u);
Run Code Online (Sandbox Code Playgroud)
我无法理解维基百科上给出的数字并与代码相关联.切换面具在做什么?任何人都可以解释操作如何使用示例位序列和它的移位版本.我不了解字段,也不了解代码.我在网上查了但是没有进入字段术语就找不到算法的任何好的解释.请帮助.
方法已作为项目中模块的一部分存在。我正在尝试编写一个测试用例来提高覆盖率。该方法及其关联的类是:
@Component
public class GenericRestTemplate {
@Autowired
private RestTemplate restTemplate;
@Autowired
CtmLogger ctmLogger;
public <R, T> R persistGenericModelsAsync(T requestModel, Class<R> responseModel, String url, String postCookies)
throws JsonProcessingException {
ctmLogger.debugObject(ValueConstant.SHOPPING_CART_SERVICE_NAME,"REST call", url);
HttpMethod method = HttpMethod.POST;
Class<R> responseType = responseModel;
ResponseEntity<JsonNode> response = null;
HttpHeaders headers = getHeaders(postCookies);
HttpEntity<T> requestEntity = new HttpEntity<>(requestModel, headers);
response = restTemplate.exchange(url, method, requestEntity, JsonNode.class);
ctmLogger.debugObject(ValueConstant.SHOPPING_CART_SERVICE_NAME,"response", response);
List<String> cookies = response.getHeaders().get(ValueConstant.SET_COOKIE);
ctmLogger.info("test:", cookies.toString());
JsonNode responseBody = response.getBody();
for (String cookie : cookies) {
System.out.println(cookie);
if (cookie.startsWith(((ValueConstant.TX_CART_ID)))) …Run Code Online (Sandbox Code Playgroud) c ×1
c++ ×1
c++11 ×1
galois-field ×1
java ×1
junit ×1
math ×1
mockito ×1
shift ×1
spring-boot ×1